The present disclosure relates in general to techniques of demodulation using artificial neural networks, and in particular to techniques relying on photonic computing systems configured as optical reservoir networks.
Machine learning mostly relies on artificial neural networks (ANNs), which are computational models inspired by biological neural networks in human or animal brains. Such systems progressively and autonomously learn tasks by means of examples; they have successfully been applied to, e.g., speech recognition, text processing and computer vision.
An ANN comprises a set of connected units or nodes, which compare to biological neurons in animal brains and are therefore called artificial neurons. Signals are transmitted along connections (also called edges) between artificial neurons, similarly to synapses. That is, an artificial neuron that receives a signal processes it and then signals connected neurons. In implementations, the signals conveyed along such connections are analog real numbers and outputs of the artificial neurons are computed thanks to a non-linear function of the sum of its inputs. In photonic networks, signals can also be conveyed as complex numbers.
Connection weights (also called synaptic weights) are normally associated with the connections and nodes; such weights adjust as learning proceeds. Each neuron may have several inputs and a connection weight is attributed to each input (the weight of that specific connection). Such connection weights are learned by the training algorithm during a training phase and thereby updated. The learning process is iterative: data cases are presented to the network, typically one at a time, and the weights associated with the input values are adjusted at each time step.
Many types of neural networks are known, starting with feedforward neural networks, such as multilayer perceptrons, deep neural networks and convolutional neural networks. Besides, new types of neural networks emerge, such as spiking neural networks. A spiking neural network (SNN) substantially differs from usual neural networks, inasmuch as SNNs operate using spikes, which may for example be discrete binary events that can occur asynchronously at any point in time, rather than analog values computed at regular time-steps. That is, in addition to neuronal and synaptic state, SNNs further incorporate the concept of time. I.e., neurons fire only when a membrane potential reaches a specific value, rather than firing at each propagation cycle as in, e.g., multi-layer perceptron networks. Firing means, in the context of SNNs, that a neuron generates a signal that reaches other neurons, which, in turn, increase or decrease their potentials according to the signals they receive from other neurons.
Closely related, reservoir computing systems allow the analysis of dynamical input data by training the output for certain tasks, e.g. for classification or forecast purposes. Typically, inputs are fed into a fixed, random dynamical system (the reservoir) and dynamics of the reservoir map inputs onto higher dimensional system. A suitably trained readout mechanism is then used to read the state of the reservoir, in order to map this state onto the output, whereby only the readout stage need be trained, while the reservoir is fixed. Main types of reservoir computing include echo state networks and liquid-state machines (which can be regarded as a particular kind of SNN).
Neural networks are typically implemented in software. However, a neural network may also be implemented in hardware, e.g., as a resistive processing unit or an optical neuromorphic system. For example, optical computing systems (also called photonic computing systems) are known, which rely on photons (e.g., produced by light sources such as lasers or diodes) for computation. For instance, application-specific devices such as and optical correlators have been proposed, which rely on optical computing to detect and/or track objects, or to classify serial time-domain optical data.